home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / DDJ0992.ARJ / DBSTRUC.INC < prev    next >
Text File  |  1992-07-05  |  8KB  |  254 lines

  1. ;---------------------------------------------------------------    
  2. ;dbstruc.inc - structures for debugger                         |
  3. ;--------------------------------------------------------------|
  4. ;
  5. intinfo     struc
  6. vect        dw    ?
  7. oldroutine      dd    ?
  8. offnew        dw    ?
  9. intinfo     ends
  10.  
  11. sp_key_tab      struc   
  12. key_data        dw      ?
  13. key_routine     dw      ?
  14. sp_key_tab      ends
  15.  
  16. cmd_info        struc
  17. cmd_text        dw      ?               ;offset of cmd text
  18. cmd_len         db      ?               ;length of command 
  19. cmd_routine     dw      ?               ;offset of cmd processing routine
  20. cmd_info        ends
  21.  
  22.  
  23. user_stack1     struc
  24. user1_bp         dw      ?
  25. user1_ip         dw      ?
  26. user1_cs         dw      ?
  27. user1_flags      dw      ?
  28. user_stack1     ends
  29.  
  30.  
  31. regs_on_stack   struc
  32. regs_sp         dw      ?
  33. regs_ss         dw      ?
  34. regs_gs         dw      ?
  35. regs_fs         dw      ?
  36. regs_es         dw      ?
  37. regs_ds         dw      ?
  38. regs_di         dw      ?
  39. regs_si         dw      ?
  40. regs_bp         dw      ?
  41. regs_temp       dw      ?
  42. regs_bx         dw      ?
  43. regs_dx         dw      ?
  44. regs_cx         dw      ?
  45. regs_ax         dw      ?
  46. regs_ip         dw      ?
  47. regs_cs         dw      ? 
  48. regs_f          dw      ?
  49. regs_on_stack   ends
  50.  
  51. regs_stab       struc
  52. regs_text_off   dw      ?
  53. regs_text_len   db      ?
  54. regs_stack_off  dw      ?                
  55. regs_stab       ends
  56.  
  57. flags_tbl       struc
  58. ftext_off       dw      ?
  59. flen            db      ?
  60. fbit            db      ?
  61. flags_tbl       ends
  62.  
  63. off_len_code    struc
  64. text_off        dw      ?
  65. text_len        db      ?
  66. text_code       db      ?
  67. off_len_code    ends
  68.  
  69. info_bpreg      struc
  70. info_bpstat     db      ?               ;indicate if bp enabled
  71. info_bpoff      dw      ?               ;offset for break point
  72. info_bpseg      dw      ?               ;segment for break point
  73. info_bpsize     db      ?               ;(0=byte, 1=word and 3=dword)
  74. info_bptype     db      ?               ;(0=exec, 1=write, 3=r/w)
  75. info_bpcmd      dw      ?               ;offset in command table (used
  76. info_bpreg      ends                    ;for retrieving cmd desriptions)
  77.  
  78. info_int        struc
  79. int_stat        db      ?               ;indicate if bp enabled
  80. int_num         db      ?               ;interrupt number
  81. int_reg         db      ?               ;indicator of al, ah, or ax
  82. int_val         dw      ?               ;value for comparisons
  83. info_int        ends 
  84.  
  85. info_io         struc
  86. io_stat         db      ?               ;indicate if bp enabled
  87. io_port         dw      ?               ;port number
  88. io_dir          db      ?               ;(1=write, 2=read, 3=read/write)
  89. ;
  90. ;Note:  These last two structure members are provided for the future
  91. ;       to add further conditional logic to I/O break points.
  92. ;       These are not currently utilized.
  93. ;
  94. io_oper         db      ?               ;operator for conditions
  95. io_val          dw      ?               ;value for conditions
  96. info_io         ends
  97.  
  98. mast_list       struc
  99. brk_type        db      ?               ;indication of type and if available
  100. brk_off         dw      ?               ;offset into debug data structures
  101. mast_list       ends
  102.  
  103. doub_word       struc   
  104. d_offset        dw      ?
  105. d_seg           dw      ?
  106. doub_word       ends
  107.  
  108. flag_bits       record  fill0:14, vmbit:1, resumef:1, fill1:1, nest_taskf:1,\
  109.                         iopl:2, overf:1, direc:1, inter:1, trapf:1, sign:1, \
  110.                         zero:1, fill3:1, auxcarry:1, fill4:1, parity:1, \
  111.                         fill5:1, carry:1
  112.  
  113. deb_cntrl       record  len3:2, rw3:2, len2:2, rw2:2,len1:2, rw1:2, \
  114.                         len0:2, rw0:2, dcfill1:6, ge_bit:1, le_bit:1, \
  115.                         g3:1, l3:1, g2:1, l2:1, g1:1, l1:1, g0:1, l0:1 
  116.  
  117. deb_dr6         record  deb_stat_bt:1, deb_stat_bs:1, deb_stat_bd:1, \
  118.                         deb_stat_dk:9, deb_stat_b3:1, deb_stat_b2:1, \
  119.                         deb_stat_b1:1, deb_stat_b0:1
  120.  
  121.  
  122. idt             struc   
  123. i_offset        dw      ?
  124. i_selector      dw      ?
  125. i_unused        db      0
  126. i_dpl_id        db      PRESENT + (DPL0 shl 5) + INT_GATE
  127. i_offset2       dw      0
  128. idt             ends
  129.  
  130. seg_descrip     struc
  131. seg_limit_low   dw      ?
  132. seg_base_low    dw      ?
  133. seg_base_mid    db      ?
  134. seg_type_dpl    db      ?
  135. seg_limit_gran  db      ?
  136. seg_base_top    db      ?
  137. seg_descrip     ends 
  138.  
  139. ex_mov_data     struc
  140. ex_mdum         db      8 dup(?)
  141. ex_mdat         db      8 dup(?)
  142. ex_msource      db      8 dup(?)
  143. ex_mdest        db      8 dup(?)
  144. ex_mcs          db      8 dup(?)
  145. ex_mss          db      8 dup(?)  
  146. ex_mov_data     ends 
  147.  
  148.  
  149. err_stack_area  struc                   ;stack with error code
  150. e_pushed_int    dw      ?               ;int pushed by debugger
  151. e_pushed_bp     dw      ?               ;bp pushed by debugger
  152. e_errcode       dd      ?               ;error code
  153. e_eip           dd      ?
  154. e_cs            dw      ?
  155.                 dw      ?
  156. e_eflags        dd      ?
  157. e_esp           dd      ?
  158. e_ss            dw      ?
  159.                 dw      ?
  160. e_es            dw      ?
  161.                 dw      ?
  162. e_ds            dw      ?
  163.                 dw      ?
  164. e_fs            dw      ?
  165.                 dw      ?
  166. e_gs            dw      ?
  167.                 dw      ?
  168. err_stack_area  ends 
  169.  
  170. stack_area      struc                   ;stack without error code
  171. s_pushed_int    dw      ?               ;int pushed by debugger
  172. s_pushed_bp     dw      ?               ;bp pushed by debugger
  173. s_eip           dd      ?
  174. s_cs            dw      ?
  175.                 dw      ?
  176. s_eflags        dd      ?
  177. s_esp           dd      ?
  178. s_ss            dw      ?
  179.                 dw      ?
  180. s_es            dw      ?
  181.                 dw      ?
  182. s_ds            dw      ?
  183.                 dw      ?
  184. s_fs            dw      ?
  185.                 dw      ?
  186. s_gs            dw      ?
  187.                 dw      ?
  188. stack_area      ends 
  189.  
  190. user_stack      struc
  191. user_ip         dw      ?
  192. user_cs         dw      ?
  193. user_flags      dw      ?
  194. user_stack      ends
  195.  
  196.  
  197. psp             struc
  198.                 db      80h dup(?)
  199. arg_len         db      ?
  200. arg_off         db      ?
  201. psp             ends
  202.  
  203. io_struc        struc
  204. io_opcode       db      ?
  205. io_info         db      ?
  206. io_struc        ends 
  207.  
  208.  
  209. tss_dat         struc   
  210. t_backlink      dw      ?
  211.                 dw      ?
  212. t_esp0          dd      ?    
  213. t_ess0          dw      ?
  214.                 dw      ?
  215. t_esp1          dd      ?
  216. t_ess1          dw      ?
  217.                 dw      ?
  218. t_esp2          dd      ?
  219. t_ess2          dw      ?
  220.                 dw      ?
  221. t_cr3           dd      ?
  222. t_eip           dd      ?
  223. t_eflags        dd      ?
  224. t_eax           dd      ?
  225. t_ecx           dd      ?
  226. t_edx           dd      ?
  227. t_ebx           dd      ?
  228. t_esp           dd      ?
  229. t_ebp           dd      ?
  230. t_esi           dd      ?
  231. t_edi           dd      ?
  232. t_es            dw      ?
  233.                 dw      ?
  234. t_cs            dw      ?
  235.                 dw      ?
  236. t_ss            dw      ?
  237.                 dw      ?
  238. t_ds            dw      ?
  239.                 dw      ?
  240. t_fs            dw      ?
  241.                 dw      ?
  242. t_gs            dw      ?
  243.                 dw      ?
  244. t_ldt           dw      ?
  245.                 dw      ?
  246. t_tbit          dw      ?
  247. t_iobase        dw      ?      
  248. t_iomap         db      IO_MAP_SIZE     dup(?)
  249. t_iopad         dw      0ffh            ;follow last map byte with 0ffh
  250. tss_dat         ends
  251.  
  252.  
  253.  
  254.